#ifndef TESTPROC_H_INCLUDED
#define TESTPROC_H_INCLUDED

#include "core/process.h"
#include "map/q3bsp.h"
#include "resources/texturemanager.h"
#include "core/message.h"

namespace engine {
		
	namespace app {
		
		using engine::core::Process;	
		using engine::map::Q3BSP;
		using engine::resources::TextureManager;
		using engine::core::Message;
		using engine::core::Kernel;
		
		class TestProc : public Process {
			private:
				Q3BSP m_TestMap;
				TextureManager tex;
				
			public:
				TestProc(const shared_ptr<Kernel> parent):
				Process(parent, false) {
					
				}
				
				~TestProc() {

				}
				
				bool initialize() {
					m_TestMap.loadMap("/home/kazade/Desktop/mt-engine/maps/testmap.bsp", tex);
					return true;
				}
				
				bool prepare(float dT) {
					
				}
				void update() {
					//m_TestMap.testRender();
				}
				void shutdown() {
					
				}
				
				bool processRecievedMessage(shared_ptr<Message> msg) {
					return true;
				}
		};
	}
}

#endif // TESTPROC_H_INCLUDED
